[INFO] fetching crate linefeed 0.6.0...
[INFO] checking linefeed-0.6.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate linefeed 0.6.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate linefeed 0.6.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate linefeed 0.6.0
[INFO] finished tweaking crates.io crate linefeed 0.6.0
[INFO] tweaked toml for crates.io crate linefeed 0.6.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mortal v0.2.4
[INFO] [stderr]   Downloaded terminfo v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90b1097cd619cd391be0498dc3035c7a3cec8176c9743d40938e21a5bd074b58
[INFO] running `Command { std: "docker" "start" "-a" "90b1097cd619cd391be0498dc3035c7a3cec8176c9743d40938e21a5bd074b58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90b1097cd619cd391be0498dc3035c7a3cec8176c9743d40938e21a5bd074b58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90b1097cd619cd391be0498dc3035c7a3cec8176c9743d40938e21a5bd074b58", kill_on_drop: false }`
[INFO] [stdout] 90b1097cd619cd391be0498dc3035c7a3cec8176c9743d40938e21a5bd074b58
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1fa386ad607da2ba56b556680cbfaf25c8d9c4046f89edc4d9d3bb954a0e133
[INFO] running `Command { std: "docker" "start" "-a" "a1fa386ad607da2ba56b556680cbfaf25c8d9c4046f89edc4d9d3bb954a0e133", kill_on_drop: false }`
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking phf_shared v0.11.2
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking smallstr v0.2.0
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling terminfo v0.8.0
[INFO] [stderr]     Checking mortal v0.2.4
[INFO] [stderr]     Checking linefeed v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/inputrc.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         '0' ... '3' => {
[INFO] [stdout]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/writer.rs:961:17
[INFO] [stdout]     |
[INFO] [stdout] 961 |             '0' ... '9' => Digit::from(ch),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1354:20
[INFO] [stdout]      |
[INFO] [stdout] 1354 |         -  999_999 ... -100_000 => 7,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1355:20
[INFO] [stdout]      |
[INFO] [stdout] 1355 |         -   99_999 ... - 10_000 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1356:20
[INFO] [stdout]      |
[INFO] [stdout] 1356 |         -    9_999 ... -  1_000 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1357:20
[INFO] [stdout]      |
[INFO] [stdout] 1357 |         -      999 ... -    100 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1358:20
[INFO] [stdout]      |
[INFO] [stdout] 1358 |         -       99 ... -     10 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1359:20
[INFO] [stdout]      |
[INFO] [stdout] 1359 |         -        9 ... -      1 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1360:20
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                  0 ...        9 => 1,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1361:20
[INFO] [stdout]      |
[INFO] [stdout] 1361 |                 10 ...       99 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1362:20
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                100 ...      999 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1363:20
[INFO] [stdout]      |
[INFO] [stdout] 1363 |              1_000 ...    9_999 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1364:20
[INFO] [stdout]      |
[INFO] [stdout] 1364 |             10_000 ...   99_999 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1365:20
[INFO] [stdout]      |
[INFO] [stdout] 1365 |            100_000 ...  999_999 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/inputrc.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         '0' ... '3' => {
[INFO] [stdout]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/writer.rs:961:17
[INFO] [stdout]     |
[INFO] [stdout] 961 |             '0' ... '9' => Digit::from(ch),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1354:20
[INFO] [stdout]      |
[INFO] [stdout] 1354 |         -  999_999 ... -100_000 => 7,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1355:20
[INFO] [stdout]      |
[INFO] [stdout] 1355 |         -   99_999 ... - 10_000 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1356:20
[INFO] [stdout]      |
[INFO] [stdout] 1356 |         -    9_999 ... -  1_000 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1357:20
[INFO] [stdout]      |
[INFO] [stdout] 1357 |         -      999 ... -    100 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1358:20
[INFO] [stdout]      |
[INFO] [stdout] 1358 |         -       99 ... -     10 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1359:20
[INFO] [stdout]      |
[INFO] [stdout] 1359 |         -        9 ... -      1 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1360:20
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                  0 ...        9 => 1,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1361:20
[INFO] [stdout]      |
[INFO] [stdout] 1361 |                 10 ...       99 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1362:20
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                100 ...      999 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1363:20
[INFO] [stdout]      |
[INFO] [stdout] 1363 |              1_000 ...    9_999 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1364:20
[INFO] [stdout]      |
[INFO] [stdout] 1364 |             10_000 ...   99_999 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1365:20
[INFO] [stdout]      |
[INFO] [stdout] 1365 |            100_000 ...  999_999 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<Function<Term>>>,
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<dyn Function<Term>>>,
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:84:24
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<Completer<Term>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<dyn Completer<Term>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<dyn TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<dyn TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<Completer<Term>> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:206:48
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:277:56
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:278:27
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:285:61
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<Function<Term>>>,
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<dyn Function<Term>>>,
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:84:24
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<Completer<Term>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<dyn Completer<Term>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<dyn TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:412:39
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:416:40
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<dyn TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:430:25
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/prompter.rs:458:55
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<Function<Term>>> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<Completer<Term>> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:206:48
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:453:37
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<Completer<Term>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:458:52
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:277:56
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:459:20
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:278:27
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:285:61
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:701:60
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:702:27
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:709:65
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:737:26
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<dyn TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:412:39
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:416:40
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:430:25
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:953:60
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:954:27
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:958:65
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/prompter.rs:458:55
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<Function<Term>>> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:44:39
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:78:55
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:91:55
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:173:47
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut TerminalWriter<Self>)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut dyn TerminalWriter<Self>)
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:190:40
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut dyn TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:24
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut dyn TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:453:37
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<Completer<Term>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:458:52
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:459:20
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:701:60
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:702:27
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:709:65
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:737:26
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<dyn TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:124:26
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<dyn TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:953:60
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:954:27
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:958:65
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:44:39
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:78:55
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:91:55
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:173:47
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut TerminalWriter<Self>)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut dyn TerminalWriter<Self>)
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:190:40
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut dyn TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:24
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut dyn TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:124:26
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<dyn TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/memory.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Writer {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 35 |     memory: Vec<char>,
[INFO] [stdout] 36 |     input: Vec<u8>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Writer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/memory.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 |             replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let _ = replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/memory.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Writer {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 35 |     memory: Vec<char>,
[INFO] [stdout] 36 |     input: Vec<u8>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Writer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/memory.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 |             replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let _ = replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.08s
[INFO] running `Command { std: "docker" "inspect" "a1fa386ad607da2ba56b556680cbfaf25c8d9c4046f89edc4d9d3bb954a0e133", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1fa386ad607da2ba56b556680cbfaf25c8d9c4046f89edc4d9d3bb954a0e133", kill_on_drop: false }`
[INFO] [stdout] a1fa386ad607da2ba56b556680cbfaf25c8d9c4046f89edc4d9d3bb954a0e133
[INFO] checking linefeed-0.6.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate linefeed 0.6.0 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate linefeed 0.6.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate linefeed 0.6.0
[INFO] finished tweaking crates.io crate linefeed 0.6.0
[INFO] tweaked toml for crates.io crate linefeed 0.6.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bbe2a5c19e8d12cf7e803d095e6f7c835d4519439feb4f3bc2b4b360d2c5b285
[INFO] running `Command { std: "docker" "start" "-a" "bbe2a5c19e8d12cf7e803d095e6f7c835d4519439feb4f3bc2b4b360d2c5b285", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bbe2a5c19e8d12cf7e803d095e6f7c835d4519439feb4f3bc2b4b360d2c5b285", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bbe2a5c19e8d12cf7e803d095e6f7c835d4519439feb4f3bc2b4b360d2c5b285", kill_on_drop: false }`
[INFO] [stdout] bbe2a5c19e8d12cf7e803d095e6f7c835d4519439feb4f3bc2b4b360d2c5b285
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2366d5a3041081b530b875c56e868326b5b95a05d3568b7a582ac8f1cd50ccfb
[INFO] running `Command { std: "docker" "start" "-a" "2366d5a3041081b530b875c56e868326b5b95a05d3568b7a582ac8f1cd50ccfb", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking phf_shared v0.11.2
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking smallstr v0.2.0
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling terminfo v0.8.0
[INFO] [stderr]     Checking mortal v0.2.4
[INFO] [stderr]     Checking linefeed v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/chars.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |         Some(pos) => &name_lc[pos + 1..],
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/complete.rs:330:49
[INFO] [stdout]     |
[INFO] [stdout] 330 |         Some(pos) => (Some(&path[..pos]), &path[pos + 1..]),
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:347:39
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 self.line = self.line[1..].trim_start();
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:351:39
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 self.line = self.line[1..].trim_start();
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:355:58
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 let (word, rest) = parse_word(&self.line[1..]);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/inputrc.rs:412:22
[INFO] [stdout]     |
[INFO] [stdout] 412 |             for _ in 0..6 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/inputrc.rs:434:22
[INFO] [stdout]     |
[INFO] [stdout] 434 |             for _ in 0..2 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/inputrc.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         '0' ... '3' => {
[INFO] [stdout]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/inputrc.rs:450:22
[INFO] [stdout]     |
[INFO] [stdout] 450 |             for _ in 0..2 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 return (&s[..ind], &s[ind..]);
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/memory.rs:266:36
[INFO] [stdout]     |
[INFO] [stdout] 266 |         for ch in &mut self.memory[idx..] {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/memory.rs:394:38
[INFO] [stdout]     |
[INFO] [stdout] 394 |             Some(&self.writer.memory[start..end])
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/memory.rs:453:44
[INFO] [stdout]     |
[INFO] [stdout] 453 |             n = self.0.read_input(&mut buf[len..]);
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/prompter.rs:645:25
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 let r = self.write.cursor..;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:652:29
[INFO] [stdout]     |
[INFO] [stdout] 652 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:657:29
[INFO] [stdout]     |
[INFO] [stdout] 657 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:665:29
[INFO] [stdout]     |
[INFO] [stdout] 665 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:670:29
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:678:29
[INFO] [stdout]     |
[INFO] [stdout] 678 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:683:29
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:699:33
[INFO] [stdout]     |
[INFO] [stdout] 699 |                         let r = pos..self.write.cursor;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:705:29
[INFO] [stdout]     |
[INFO] [stdout] 705 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:713:29
[INFO] [stdout]     |
[INFO] [stdout] 713 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:718:29
[INFO] [stdout]     |
[INFO] [stdout] 718 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:730:31
[INFO] [stdout]     |
[INFO] [stdout] 730 |                         src = start..end;
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:731:32
[INFO] [stdout]     |
[INFO] [stdout] 731 |                         dest = end..self.write.cursor;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:736:31
[INFO] [stdout]     |
[INFO] [stdout] 736 |                         src = start..end;
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:740:29
[INFO] [stdout]     |
[INFO] [stdout] 740 | ...                   back..start
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:743:29
[INFO] [stdout]     |
[INFO] [stdout] 743 | ...                   end..fwd
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:765:39
[INFO] [stdout]     |
[INFO] [stdout] 765 | ...                   src = src_start..src_end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:766:40
[INFO] [stdout]     |
[INFO] [stdout] 766 | ...                   dest = dest_start..dest_end;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:771:39
[INFO] [stdout]     |
[INFO] [stdout] 771 | ...                   src = src_start..src_end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:974:57
[INFO] [stdout]     |
[INFO] [stdout] 974 |         let unquoted = compl.unquote(&self.write.buffer[start..end]).into_owned();
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1007:46
[INFO] [stdout]      |
[INFO] [stdout] 1007 |                     self.replace_str_forward(start..end, &pfx)?;
[INFO] [stdout]      |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1026:34
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         self.replace_str_forward(start..end, &s)
[INFO] [stdout]      |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1040:34
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         self.replace_str_forward(start..end, &words)
[INFO] [stdout]      |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1221:35
[INFO] [stdout]      |
[INFO] [stdout] 1221 |                 self.delete_range(start..end)?;
[INFO] [stdout]      |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1228:42
[INFO] [stdout]      |
[INFO] [stdout] 1228 |                 self.replace_str_forward(start..end, &s)?;
[INFO] [stdout]      |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1317:41
[INFO] [stdout]      |
[INFO] [stdout] 1317 |             let buf = self.write.buffer[start..end].to_owned();
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1327:31
[INFO] [stdout]      |
[INFO] [stdout] 1327 |             self.delete_range(start..end)?;
[INFO] [stdout]      |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1398:42
[INFO] [stdout]      |
[INFO] [stdout] 1398 |                 self.replace_str_forward(start..end, &kill)?;
[INFO] [stdout]      |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1411:43
[INFO] [stdout]      |
[INFO] [stdout] 1411 |             let over = &self.write.buffer[start..end];
[INFO] [stdout]      |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1424:34
[INFO] [stdout]      |
[INFO] [stdout] 1424 |         self.replace_str_forward(start..end, &s)
[INFO] [stdout]      |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1432:21
[INFO] [stdout]      |
[INFO] [stdout] 1432 |             let r = pos..self.write.cursor;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/prompter.rs:1447:58
[INFO] [stdout]      |
[INFO] [stdout] 1447 |             let over = self.read.overwritten_chars.drain(over_pos..).collect::<String>();
[INFO] [stdout]      |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1449:21
[INFO] [stdout]      |
[INFO] [stdout] 1449 |             let r = pos..self.write.cursor;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1512:41
[INFO] [stdout]      |
[INFO] [stdout] 1512 |         let _ = self.write.buffer.drain(start..end);
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/table.rs:98:36
[INFO] [stdout]    |
[INFO] [stdout] 98 |             strings: &self.strings[start..end],
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/table.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |         (min_cols..max_cols + 1)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/table.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let strs = (1..500).map(|n| repeat('x').take(n).collect())
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for _ in 0..n {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut chars = s[cur..].char_indices()
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:128:14
[INFO] [stdout]     |
[INFO] [stdout] 128 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let off = match buf[cur..].chars().next() {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |         match buf[cur + off..].find(ch) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout] 166 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:180:25
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut chars = buf[cur..].char_indices();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         prev..end
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let fwd = match buf[cur..].chars().next() {
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 267 |     let mut chars = buf[cur..].char_indices();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:269:14
[INFO] [stdout]     |
[INFO] [stdout] 269 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:283:25
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let mut chars = buf[cur..].char_indices();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/writer.rs:264:31
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let buf = self.buffer[pos..].to_owned();
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/writer.rs:580:24
[INFO] [stdout]     |
[INFO] [stdout] 580 |             match line[pos.unwrap_or(0)..].find(s) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/writer.rs:741:35
[INFO] [stdout]     |
[INFO] [stdout] 741 |         let _ = self.buffer.drain(start..end);
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/writer.rs:754:49
[INFO] [stdout]     |
[INFO] [stdout] 754 |         let moves_combining = match self.buffer[self.cursor..].chars().next() {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/writer.rs:961:17
[INFO] [stdout]     |
[INFO] [stdout] 961 |             '0' ... '9' => Digit::from(ch),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/writer.rs:1121:55
[INFO] [stdout]      |
[INFO] [stdout] 1121 |             Some(pos) => (&prompt[..pos + 1], &prompt[pos + 1..]),
[INFO] [stdout]      |                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1354:20
[INFO] [stdout]      |
[INFO] [stdout] 1354 |         -  999_999 ... -100_000 => 7,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/chars.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |         Some(pos) => &name_lc[pos + 1..],
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1355:20
[INFO] [stdout]      |
[INFO] [stdout] 1355 |         -   99_999 ... - 10_000 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1356:20
[INFO] [stdout]      |
[INFO] [stdout] 1356 |         -    9_999 ... -  1_000 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1357:20
[INFO] [stdout]      |
[INFO] [stdout] 1357 |         -      999 ... -    100 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1358:20
[INFO] [stdout]      |
[INFO] [stdout] 1358 |         -       99 ... -     10 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/complete.rs:330:49
[INFO] [stdout]     |
[INFO] [stdout] 330 |         Some(pos) => (Some(&path[..pos]), &path[pos + 1..]),
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1359:20
[INFO] [stdout]      |
[INFO] [stdout] 1359 |         -        9 ... -      1 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1360:20
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                  0 ...        9 => 1,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:347:39
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 self.line = self.line[1..].trim_start();
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1361:20
[INFO] [stdout]      |
[INFO] [stdout] 1361 |                 10 ...       99 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:351:39
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 self.line = self.line[1..].trim_start();
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:355:58
[INFO] [stdout]     |
[INFO] [stdout] 355 |                 let (word, rest) = parse_word(&self.line[1..]);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1362:20
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                100 ...      999 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/inputrc.rs:412:22
[INFO] [stdout]     |
[INFO] [stdout] 412 |             for _ in 0..6 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1363:20
[INFO] [stdout]      |
[INFO] [stdout] 1363 |              1_000 ...    9_999 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/inputrc.rs:434:22
[INFO] [stdout]     |
[INFO] [stdout] 434 |             for _ in 0..2 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1364:20
[INFO] [stdout]      |
[INFO] [stdout] 1364 |             10_000 ...   99_999 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/inputrc.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 |         '0' ... '3' => {
[INFO] [stdout]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1365:20
[INFO] [stdout]      |
[INFO] [stdout] 1365 |            100_000 ...  999_999 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/inputrc.rs:450:22
[INFO] [stdout]     |
[INFO] [stdout] 450 |             for _ in 0..2 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/inputrc.rs:503:39
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 return (&s[..ind], &s[ind..]);
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/memory.rs:266:36
[INFO] [stdout]     |
[INFO] [stdout] 266 |         for ch in &mut self.memory[idx..] {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/memory.rs:394:38
[INFO] [stdout]     |
[INFO] [stdout] 394 |             Some(&self.writer.memory[start..end])
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/memory.rs:453:44
[INFO] [stdout]     |
[INFO] [stdout] 453 |             n = self.0.read_input(&mut buf[len..]);
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/prompter.rs:645:25
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 let r = self.write.cursor..;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:652:29
[INFO] [stdout]     |
[INFO] [stdout] 652 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:657:29
[INFO] [stdout]     |
[INFO] [stdout] 657 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:665:29
[INFO] [stdout]     |
[INFO] [stdout] 665 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:670:29
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:678:29
[INFO] [stdout]     |
[INFO] [stdout] 678 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:683:29
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:699:33
[INFO] [stdout]     |
[INFO] [stdout] 699 |                         let r = pos..self.write.cursor;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:705:29
[INFO] [stdout]     |
[INFO] [stdout] 705 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:713:29
[INFO] [stdout]     |
[INFO] [stdout] 713 |                     let r = self.write.cursor..pos;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:718:29
[INFO] [stdout]     |
[INFO] [stdout] 718 |                     let r = pos..self.write.cursor;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:730:31
[INFO] [stdout]     |
[INFO] [stdout] 730 |                         src = start..end;
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:731:32
[INFO] [stdout]     |
[INFO] [stdout] 731 |                         dest = end..self.write.cursor;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:736:31
[INFO] [stdout]     |
[INFO] [stdout] 736 |                         src = start..end;
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:740:29
[INFO] [stdout]     |
[INFO] [stdout] 740 | ...                   back..start
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:743:29
[INFO] [stdout]     |
[INFO] [stdout] 743 | ...                   end..fwd
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:765:39
[INFO] [stdout]     |
[INFO] [stdout] 765 | ...                   src = src_start..src_end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:766:40
[INFO] [stdout]     |
[INFO] [stdout] 766 | ...                   dest = dest_start..dest_end;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:771:39
[INFO] [stdout]     |
[INFO] [stdout] 771 | ...                   src = src_start..src_end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/prompter.rs:974:57
[INFO] [stdout]     |
[INFO] [stdout] 974 |         let unquoted = compl.unquote(&self.write.buffer[start..end]).into_owned();
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1007:46
[INFO] [stdout]      |
[INFO] [stdout] 1007 |                     self.replace_str_forward(start..end, &pfx)?;
[INFO] [stdout]      |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1026:34
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         self.replace_str_forward(start..end, &s)
[INFO] [stdout]      |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1040:34
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         self.replace_str_forward(start..end, &words)
[INFO] [stdout]      |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1221:35
[INFO] [stdout]      |
[INFO] [stdout] 1221 |                 self.delete_range(start..end)?;
[INFO] [stdout]      |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1228:42
[INFO] [stdout]      |
[INFO] [stdout] 1228 |                 self.replace_str_forward(start..end, &s)?;
[INFO] [stdout]      |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1317:41
[INFO] [stdout]      |
[INFO] [stdout] 1317 |             let buf = self.write.buffer[start..end].to_owned();
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1327:31
[INFO] [stdout]      |
[INFO] [stdout] 1327 |             self.delete_range(start..end)?;
[INFO] [stdout]      |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1398:42
[INFO] [stdout]      |
[INFO] [stdout] 1398 |                 self.replace_str_forward(start..end, &kill)?;
[INFO] [stdout]      |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1411:43
[INFO] [stdout]      |
[INFO] [stdout] 1411 |             let over = &self.write.buffer[start..end];
[INFO] [stdout]      |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1424:34
[INFO] [stdout]      |
[INFO] [stdout] 1424 |         self.replace_str_forward(start..end, &s)
[INFO] [stdout]      |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1432:21
[INFO] [stdout]      |
[INFO] [stdout] 1432 |             let r = pos..self.write.cursor;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/prompter.rs:1447:58
[INFO] [stdout]      |
[INFO] [stdout] 1447 |             let over = self.read.overwritten_chars.drain(over_pos..).collect::<String>();
[INFO] [stdout]      |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1449:21
[INFO] [stdout]      |
[INFO] [stdout] 1449 |             let r = pos..self.write.cursor;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/prompter.rs:1512:41
[INFO] [stdout]      |
[INFO] [stdout] 1512 |         let _ = self.write.buffer.drain(start..end);
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/table.rs:98:36
[INFO] [stdout]    |
[INFO] [stdout] 98 |             strings: &self.strings[start..end],
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/table.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |         (min_cols..max_cols + 1)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for _ in 0..n {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut chars = s[cur..].char_indices()
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:128:14
[INFO] [stdout]     |
[INFO] [stdout] 128 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let off = match buf[cur..].chars().next() {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |         match buf[cur + off..].find(ch) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout] 166 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:180:25
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut chars = buf[cur..].char_indices();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         prev..end
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |         start..end
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let fwd = match buf[cur..].chars().next() {
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 267 |     let mut chars = buf[cur..].char_indices();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:269:14
[INFO] [stdout]     |
[INFO] [stdout] 269 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util.rs:283:25
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let mut chars = buf[cur..].char_indices();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/writer.rs:264:31
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let buf = self.buffer[pos..].to_owned();
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/writer.rs:580:24
[INFO] [stdout]     |
[INFO] [stdout] 580 |             match line[pos.unwrap_or(0)..].find(s) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/writer.rs:741:35
[INFO] [stdout]     |
[INFO] [stdout] 741 |         let _ = self.buffer.drain(start..end);
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/writer.rs:754:49
[INFO] [stdout]     |
[INFO] [stdout] 754 |         let moves_combining = match self.buffer[self.cursor..].chars().next() {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/writer.rs:961:17
[INFO] [stdout]     |
[INFO] [stdout] 961 |             '0' ... '9' => Digit::from(ch),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/writer.rs:1121:55
[INFO] [stdout]      |
[INFO] [stdout] 1121 |             Some(pos) => (&prompt[..pos + 1], &prompt[pos + 1..]),
[INFO] [stdout]      |                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1354:20
[INFO] [stdout]      |
[INFO] [stdout] 1354 |         -  999_999 ... -100_000 => 7,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1355:20
[INFO] [stdout]      |
[INFO] [stdout] 1355 |         -   99_999 ... - 10_000 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1356:20
[INFO] [stdout]      |
[INFO] [stdout] 1356 |         -    9_999 ... -  1_000 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1357:20
[INFO] [stdout]      |
[INFO] [stdout] 1357 |         -      999 ... -    100 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1358:20
[INFO] [stdout]      |
[INFO] [stdout] 1358 |         -       99 ... -     10 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1359:20
[INFO] [stdout]      |
[INFO] [stdout] 1359 |         -        9 ... -      1 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1360:20
[INFO] [stdout]      |
[INFO] [stdout] 1360 |                  0 ...        9 => 1,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1361:20
[INFO] [stdout]      |
[INFO] [stdout] 1361 |                 10 ...       99 => 2,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1362:20
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                100 ...      999 => 3,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1363:20
[INFO] [stdout]      |
[INFO] [stdout] 1363 |              1_000 ...    9_999 => 4,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1364:20
[INFO] [stdout]      |
[INFO] [stdout] 1364 |             10_000 ...   99_999 => 5,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/writer.rs:1365:20
[INFO] [stdout]      |
[INFO] [stdout] 1365 |            100_000 ...  999_999 => 6,
[INFO] [stdout]      |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<Function<Term>>>,
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<dyn Function<Term>>>,
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:84:24
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<Completer<Term>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<dyn Completer<Term>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<dyn TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<dyn TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<Completer<Term>> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:206:48
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:277:56
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:278:27
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:285:61
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:412:39
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:416:40
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:430:25
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/prompter.rs:458:55
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<Function<Term>>> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:453:37
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<Completer<Term>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:458:52
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:459:20
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:701:60
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:702:27
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:709:65
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:737:26
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<dyn TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:953:60
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:954:27
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:958:65
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:44:39
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:78:55
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:91:55
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:173:47
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut TerminalWriter<Self>)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut dyn TerminalWriter<Self>)
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:190:40
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut dyn TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:24
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut dyn TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:124:26
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<dyn TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<Function<Term>>>,
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub functions: HashMap<Cow<'static, str>, Arc<dyn Function<Term>>>,
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:84:24
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<Completer<Term>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub completer: Arc<dyn Completer<Term>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     term: Box<dyn TerminalReader<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     term: Box<dyn TerminalWriter<Term> + 'a>,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<Completer<Term>> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub fn completer(&self) -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:206:48
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn set_completer(&self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:277:56
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn define_function<T>(&self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:278:27
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 278 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interface.rs:285:61
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn remove_function(&self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:412:39
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:416:40
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:430:25
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 430 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/memory.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 437 |             _lock: &mut dyn TerminalWriter<MemoryTerminal>, _state: ())
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/prompter.rs:458:55
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<Function<Term>>> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn get_function(&self, name: &str) -> Option<&Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:453:37
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<Completer<Term>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn completer(&self) -> &Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:458:52
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<Completer<Term>>)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn set_completer(&mut self, completer: Arc<dyn Completer<Term>>)
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:459:20
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<Completer<Term>> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |             -> Arc<dyn Completer<Term>> {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:701:60
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:702:27
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 702 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:709:65
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 709 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:737:26
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub fn new(term: Box<dyn TerminalReader<Term> + 'a>, data: MutexGuard<'a, Read<Term>>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:953:60
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<Function<Term>>)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 953 |     pub fn define_function<T>(&mut self, name: T, cmd: Arc<dyn Function<Term>>)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:954:27
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 954 |             -> Option<Arc<dyn Function<Term>>> where T: Into<Cow<'static, str>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:958:65
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<Function<Term>>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 958 |     pub fn remove_function(&mut self, name: &str) -> Option<Arc<dyn Function<Term>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:44:39
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>;
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:78:55
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     unsafe fn prepare_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/terminal.rs:91:55
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut TerminalWriter<Term>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     unsafe fn restore_with_lock(&mut self, lock: &mut dyn TerminalWriter<Term>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:173:47
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut TerminalWriter<Self>)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe fn cast_writer<'a>(writer: &'a mut dyn TerminalWriter<Self>)
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:190:40
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |             lock: &mut dyn TerminalWriter<DefaultTerminal>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminal.rs:227:24
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |             lock: &mut dyn TerminalWriter<DefaultTerminal>, state: PrepareState)
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:124:26
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn new(term: Box<dyn TerminalWriter<Term> + 'a>, data: MutexGuard<'a, Write>)
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/memory.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Writer {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 35 |     memory: Vec<char>,
[INFO] [stdout] 36 |     input: Vec<u8>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Writer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/memory.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 |             replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let _ = replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/memory.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Writer {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 35 |     memory: Vec<char>,
[INFO] [stdout] 36 |     input: Vec<u8>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Writer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 123 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/memory.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 |             replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let _ = replace(&mut self.memory, new_buf);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]     --> src/prompter.rs:1369:44
[INFO] [stdout]      |
[INFO] [stdout] 1369 |     pub fn transpose_range(&mut self, src: Range<usize>, dest: Range<usize>)
[INFO] [stdout]      |                                            ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]     --> src/prompter.rs:1369:64
[INFO] [stdout]      |
[INFO] [stdout] 1369 |     pub fn transpose_range(&mut self, src: Range<usize>, dest: Range<usize>)
[INFO] [stdout]      |                                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 122 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `linefeed` (lib) due to 3 previous errors; 122 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2366d5a3041081b530b875c56e868326b5b95a05d3568b7a582ac8f1cd50ccfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2366d5a3041081b530b875c56e868326b5b95a05d3568b7a582ac8f1cd50ccfb", kill_on_drop: false }`
[INFO] [stdout] 2366d5a3041081b530b875c56e868326b5b95a05d3568b7a582ac8f1cd50ccfb
